# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/31 10:44 
@Author  : ZhangShenao 
@File    : 2.接收路由参数.py 
@Desc    : 接收路由参数

在路由规则中,可以通过<converter:param>的方式,接收路由参数
"""
from flask import Flask

app = Flask(__name__)
app.config["DEBUG"] = True


# 在路由规则中,可以通过<converter:param>的方式,接收路由参数
# 路由参数名要与视图函数的参数名保持一致
# Flask中内置了多种类型的Converter,如string,int,float,path,uuid等,默认为string类型
# Flask在werkzeug/routing/converters.py文件中,定义了内置的Converter类型,父类为BaseConverter
# Flask支持自定义Converter
@app.route("/item/<int:category_id>/<uuid:item_id>", methods=["GET"])
def query_item_info(category_id: int, item_id: int) -> str:
    # 参数类型均为int
    print(f"type of category_id is: {type(category_id)}, type of category_id is: {type(item_id)}")

    return f"商品分类ID: {category_id}, 商品ID: {item_id}"


if __name__ == '__main__':
    app.run(host="0.0.0.0", port=5000)
